package cm.shit;
interface Person {
    default String getName() {
        return getClass().getSimpleName();
    }
}
interface Gun {
    void sound();
}
abstract class PP implements Gun {
    
}
interface Named{
    default String getName() {
        return getClass().getName();
    }
}
interface InterfaceA{
    int x = 0;
    int size();

    // 默认实现, 可以直接调用接口楼内所有方法
    default boolean isEmpty() {
        System.out.println(x);
        return size() == 0;
    }
}
public class TestInterface implements Person, Named {
    /*
    类会继承 Person 和 Named 接口提供的两个不一致的 getName 方法
。
并不是从中选择一
个
，
Java 编译器会报告一个错误
，
让程序员来解决这个二义性
。
    * */
    @Override
    public String getName() {
        // 在这个方法中
        //，
        //可以选择两个冲突方法中的一个
        return Person.super.getName();
    }
}
